#ifndef _BTREE_NODE_H_
#define _BTREE_NODE_H_

#include "TreeNode.h"

namespace MySTL
{

template < typename T >
class BTreeNode : public TreeNode<T>
{
public:
	BTreeNode* left;
	BTreeNode* right;

	BTreeNode();
	static BTreeNode* NewNode();
};

template < typename T >
BTreeNode<T>::BTreeNode()
{
	left = NULL;
	right = NULL;
}

template < typename T >
BTreeNode<T>* BTreeNode<T>::NewNode()
{
	BTreeNode<T>* ret = new BTreeNode<T>();

	if (NULL != ret)
	{
		ret->m_need_to_delete = true;
	}

	return ret;
}

}

#endif